using System.Security.Principal;
using Framework.Domain;

namespace Framework.Core
{
    public interface IUserPrincipal : IPrincipal, IIdentity, IOwner
    {
        UserId Id { get; }
        string UserCode { get; }
        string FullName { get; }

        string Initials { get; }
        string Position { get; }
        string Phone { get; }
        string Fax { get; }
        string Email { get; }

        string TeamType { get; }
        string TeamCode { get; }
        string TeamName { get; }
        BusinessUnitId BusinessUnitId { get; }

        TaskListId TaskListId { get; }
        int ComplaintStage { get; }
        bool UserIsPool { get; }
        int? SuperUserId { get; }
    }
}